class Student:
    # 类属性 所有实例共享同一份类属性
    gender = '男'

    def __init__(self,name,age):
        # 实例属性 每个实例的实例属性是独立的
        self.name = name
        self.age = age

    def __str__(self):
        """使用print函数或str()函数打印一个对象时，实际是调用了__str__方法来获取其字符串表示"""
        return f'学生：{self.name},{self.age},{self.gender}'

    def introduce(self):
        print(f'大家好，我的名字叫{self.name}，今年{self.age}岁')
        self.study("数学")

    def study(self, sth):
        print(f'{self.name}正在努力学习{sth}')

    def update_gender(self):
        # 通过一个实例来修改类属性的时候不会影响其他实例的类属性，每个实例都有独立的类属性副本
        self.gender = '女'


stu = Student('lisi',30)
print(stu)
